7f9e2a18ecc9092729cb91a8a4fe4561117aabfd,platform/lang-impl/src/com/intellij/codeInsight/completion/CodeCompletionHandlerBase.java,CodeCompletionHandlerBase,insertDummyIdentifier,#CompletionContext#FileCopyPatcher#,380
Before Change
map.addOffset(key, injectedEditor.logicalPositionToOffset(injectedEditor.hostToInjected(oldEditor.offsetToLogicalPosition(oldMap.getOffset(key)))));
}
CompletionContext newContext = new CompletionContext(context.project, injectedEditor, injectedFile, map);
PsiElement element = findElementAt(injectedFile, newContext.getStartOffset());
if (element == null) {
final String allDoc = hostFile.getViewProvider().getDocument().getText();
String docText = allDoc.substring(Math.max(0, context.getStartOffset() - 10), Math.min(allDoc.length(), context.getStartOffset() + 10));
After Change
map.addOffset(key, injectedEditor.logicalPositionToOffset(injectedEditor.hostToInjected(oldEditor.offsetToLogicalPosition(oldMap.getOffset(key)))));
}
CompletionContext newContext = new CompletionContext(context.project, injectedEditor, injectedFile, map);
int injectedOffset = newContext.getStartOffset();
PsiElement element = findElementAt(injectedFile, injectedOffset);
int toHost = injectedLanguageManager == null ? hostStartOffset : injectedLanguageManager.injectedToHost(injectedFile, injectedOffset);
// maybe injected fragment is ended before hostStartOffset
if (element != null && toHost == hostStartOffset) {
EditorFactory.getInstance().releaseEditor(editor);
return Pair.create(newContext, element);
}